WORST_CASE(?,O(n^2)) Solution: --------- "::" :: ["A"(0, 0) x "A"(3, 0)] -(3)-> "A"(3, 0) "::" :: ["A"(0, 0) x "A"(0, 0)] -(0)-> "A"(0, 0) "append" :: ["A"(3, 0) x "A"(0, 0)] -(6)-> "A"(0, 0) "append#1" :: ["A"(3, 0) x "A"(0, 0)] -(5)-> "A"(0, 0) "leaf" :: [] -(0)-> "A"(0, 15) "nil" :: [] -(0)-> "A"(3, 0) "nil" :: [] -(0)-> "A"(4, 7) "node" :: ["A"(0, 0) x "A"(15, 15) x "A"(15, 15)] -(15)-> "A"(0, 15) "node" :: ["A"(0, 0) x "A"(0, 0) x "A"(0, 0)] -(0)-> "A"(0, 0) "subtrees" :: ["A"(0, 15)] -(2)-> "A"(0, 2) "subtrees#1" :: ["A"(0, 15)] -(1)-> "A"(0, 1) "subtrees#2" :: ["A"(12, 3) x "A"(0, 0) x "A"(15, 15) x "A"(0, 0)] -(13)-> "A"(0, 0) "subtrees#3" :: ["A"(0, 2) x "A"(10, 3) x "A"(0, 0) x "A"(0, 0) x "A"(0, 0)] -(10)-> "A"(0, 0) Cost Free Signatures: --------------------- "::" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "::" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 1) "::" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 9) "::" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 4) "::" :: ["A"_cf(0, 0) x "A"_cf(12, 0)] -(12)-> "A"_cf(12, 2) "::" :: ["A"_cf(0, 0) x "A"_cf(12, 0)] -(12)-> "A"_cf(12, 0) "append" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "append" :: ["A"_cf(0, 0) x "A"_cf(0, 1)] -(0)-> "A"_cf(0, 1) "append" :: ["A"_cf(0, 0) x "A"_cf(0, 1)] -(0)-> "A"_cf(0, 0) "append" :: ["A"_cf(12, 0) x "A"_cf(12, 2)] -(0)-> "A"_cf(12, 2) "append" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(1)-> "A"_cf(0, 0) "append#1" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "append#1" :: ["A"_cf(0, 0) x "A"_cf(0, 1)] -(0)-> "A"_cf(0, 1) "append#1" :: ["A"_cf(0, 0) x "A"_cf(0, 1)] -(0)-> "A"_cf(0, 0) "append#1" :: ["A"_cf(12, 0) x "A"_cf(12, 2)] -(0)-> "A"_cf(12, 2) "append#1" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(1)-> "A"_cf(0, 0) "leaf" :: [] -(0)-> "A"_cf(0, 0) "leaf" :: [] -(0)-> "A"_cf(15, 0) "nil" :: [] -(0)-> "A"_cf(0, 0) "nil" :: [] -(0)-> "A"_cf(15, 1) "nil" :: [] -(0)-> "A"_cf(1, 15) "nil" :: [] -(0)-> "A"_cf(14, 4) "nil" :: [] -(0)-> "A"_cf(12, 0) "nil" :: [] -(0)-> "A"_cf(0, 13) "node" :: ["A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "node" :: ["A"_cf(15, 0) x "A"_cf(15, 0) x "A"_cf(15, 0)] -(15)-> "A"_cf(15, 0) "subtrees" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 1) "subtrees" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "subtrees" :: ["A"_cf(15, 0)] -(0)-> "A"_cf(12, 2) "subtrees" :: ["A"_cf(15, 0)] -(0)-> "A"_cf(0, 0) "subtrees#1" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 1) "subtrees#1" :: ["A"_cf(15, 0)] -(0)-> "A"_cf(12, 2) "subtrees#1" :: ["A"_cf(15, 0)] -(0)-> "A"_cf(0, 0) "subtrees#2" :: ["A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 1) "subtrees#2" :: ["A"_cf(0, 1) x "A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 1) "subtrees#2" :: ["A"_cf(12, 0) x "A"_cf(0, 0) x "A"_cf(15, 0) x "A"_cf(0, 0)] -(15)-> "A"_cf(12, 2) "subtrees#2" :: ["A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(15, 0) x "A"_cf(0, 0)] -(15)-> "A"_cf(0, 0) "subtrees#3" :: ["A"_cf(0, 1) x "A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 1) "subtrees#3" :: ["A"_cf(0, 1) x "A"_cf(0, 1) x "A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 4) "subtrees#3" :: ["A"_cf(12, 2) x "A"_cf(12, 0) x "A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(14)-> "A"_cf(12, 2) "subtrees#3" :: ["A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(14)-> "A"_cf(0, 0) Base Constructors: ------------------ "\"::\"_A" :: ["A"(0, 0) x "A"(1, 0)] -(1)-> "A"(1, 0) "\"::\"_A" :: ["A"(0, 0) x "A"(0, 0)] -(0)-> "A"(0, 1) "\"leaf\"_A" :: [] -(0)-> "A"(1, 0) "\"leaf\"_A" :: [] -(0)-> "A"(0, 1) "\"nil\"_A" :: [] -(0)-> "A"(1, 0) "\"nil\"_A" :: [] -(0)-> "A"(0, 1) "\"node\"_A" :: ["A"(1, 0) x "A"(1, 0) x "A"(1, 0)] -(1)-> "A"(1, 0) "\"node\"_A" :: ["A"(0, 0) x "A"(1, 1) x "A"(1, 1)] -(1)-> "A"(0, 1)